#include "common.h"

namespace retro8
{
  namespace gfx
  {
    static constexpr  uint8_t font_map[] = {
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x40, 0xa0, 0xa0, 0xe0, 0xa0, 0xc0, 0x40, 0x40, 0x40, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x20,
      0x00, 0x40, 0xa0, 0xe0, 0xc0, 0x20, 0xc0, 0x80, 0x80, 0x20, 0x40, 0x40, 0x00, 0x00, 0x00, 0x40,
      0x00, 0x40, 0x00, 0xa0, 0x60, 0x40, 0xc0, 0x00, 0x80, 0x20, 0xe0, 0xe0, 0x00, 0xe0, 0x00, 0x40,
      0x00, 0x00, 0x00, 0xe0, 0xe0, 0x80, 0xa0, 0x00, 0x80, 0x20, 0x40, 0x40, 0x40, 0x00, 0x00, 0x40,
      0x00, 0x40, 0x00, 0xa0, 0x40, 0xa0, 0xe0, 0x00, 0x40, 0x40, 0xa0, 0x00, 0x80, 0x00, 0x40, 0x80,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0xe0, 0xc0, 0xe0, 0xe0, 0xa0, 0xe0, 0x80, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x20, 0x00, 0x80, 0xe0,
      0xa0, 0x40, 0x20, 0x20, 0xa0, 0x80, 0x80, 0x20, 0xa0, 0xa0, 0x40, 0x40, 0x40, 0xe0, 0x40, 0x20,
      0xa0, 0x40, 0xe0, 0x60, 0xe0, 0xe0, 0xe0, 0x20, 0xe0, 0xe0, 0x00, 0x00, 0x80, 0x00, 0x20, 0x60,
      0xa0, 0x40, 0x80, 0x20, 0x20, 0x20, 0xa0, 0x20, 0xa0, 0x20, 0x40, 0x40, 0x40, 0xe0, 0x40, 0x00,
      0xe0, 0xe0, 0xe0, 0xe0, 0x20, 0xe0, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x80, 0x20, 0x00, 0x80, 0x40,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0xa0, 0xe0, 0xc0, 0xe0, 0xc0, 0xe0, 0xe0, 0xe0, 0xa0, 0xe0, 0xe0, 0xa0, 0x80, 0xe0, 0xc0, 0x60,
      0xa0, 0xa0, 0xc0, 0x80, 0xa0, 0xc0, 0xc0, 0x80, 0xa0, 0x40, 0x40, 0xc0, 0x80, 0xe0, 0xa0, 0xa0,
      0x80, 0xe0, 0xa0, 0x80, 0xa0, 0x80, 0x80, 0xa0, 0xe0, 0x40, 0x40, 0xa0, 0x80, 0xa0, 0xa0, 0xa0,
      0x60, 0xa0, 0xe0, 0xe0, 0xc0, 0xe0, 0x80, 0xe0, 0xa0, 0xe0, 0xc0, 0xa0, 0xe0, 0xa0, 0xa0, 0xc0,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x80, 0x60, 0x40, 0x00,
      0xe0, 0x40, 0xe0, 0x60, 0xe0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xe0, 0x80, 0x40, 0x20, 0xa0, 0x00,
      0xa0, 0xa0, 0xa0, 0x80, 0x40, 0xa0, 0xa0, 0xa0, 0x40, 0xe0, 0x20, 0x80, 0x40, 0x20, 0x00, 0x00,
      0xe0, 0xc0, 0xc0, 0x20, 0x40, 0xa0, 0xe0, 0xe0, 0xa0, 0x20, 0x80, 0x80, 0x40, 0x20, 0x00, 0x00,
      0x80, 0x60, 0xa0, 0xc0, 0x40, 0x60, 0x40, 0xe0, 0xa0, 0xe0, 0xe0, 0xc0, 0x20, 0x60, 0x00, 0xe0,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x40, 0xe0, 0xe0, 0x60, 0xc0, 0xe0, 0xe0, 0x60, 0xa0, 0xe0, 0xe0, 0xa0, 0x80, 0xe0, 0xc0, 0x60,
      0x20, 0xa0, 0xa0, 0x80, 0xa0, 0x80, 0x80, 0x80, 0xa0, 0x40, 0x40, 0xa0, 0x80, 0xe0, 0xa0, 0xa0,
      0x00, 0xe0, 0xc0, 0x80, 0xa0, 0xc0, 0xc0, 0x80, 0xe0, 0x40, 0x40, 0xc0, 0x80, 0xa0, 0xa0, 0xa0,
      0x00, 0xa0, 0xa0, 0x80, 0xa0, 0x80, 0x80, 0xa0, 0xa0, 0x40, 0x40, 0xa0, 0x80, 0xa0, 0xa0, 0xa0,
      0x00, 0xa0, 0xe0, 0x60, 0xe0, 0xe0, 0x80, 0xe0, 0xa0, 0xe0, 0xc0, 0xa0, 0xe0, 0xa0, 0xa0, 0xc0,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0xe0, 0x40, 0xe0, 0x60, 0xe0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xe0, 0x60, 0x40, 0xc0, 0x00, 0x00,
      0xa0, 0xa0, 0xa0, 0x80, 0x40, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0x20, 0x40, 0x40, 0x40, 0x20, 0x40,
      0xe0, 0xa0, 0xc0, 0xe0, 0x40, 0xa0, 0xa0, 0xa0, 0x40, 0xe0, 0x40, 0xc0, 0x40, 0x60, 0xe0, 0xa0,
      0x80, 0xc0, 0xa0, 0x20, 0x40, 0xa0, 0xe0, 0xe0, 0xa0, 0x20, 0x80, 0x40, 0x40, 0x40, 0x80, 0xa0,
      0x80, 0x60, 0xa0, 0xc0, 0x40, 0x60, 0x40, 0xe0, 0xa0, 0xe0, 0xe0, 0x60, 0x40, 0xc0, 0x00, 0xe0,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0xfe, 0xaa, 0x82, 0x7c, 0x88, 0x20, 0x38, 0x6c, 0x38, 0x38, 0x38, 0x7c, 0xfe, 0x1c, 0x7c, 0x10,
      0xfe, 0x54, 0xfe, 0xc6, 0x22, 0x3c, 0x74, 0x7c, 0x6c, 0x38, 0x7c, 0xe6, 0xba, 0x10, 0xc6, 0x38,
      0xfe, 0xaa, 0xba, 0xc6, 0x88, 0x38, 0x7c, 0x7c, 0xee, 0x7c, 0xfe, 0xc6, 0xfe, 0x10, 0xd6, 0x7c,
      0xfe, 0x54, 0xba, 0xee, 0x22, 0x78, 0x7c, 0x38, 0x6c, 0x38, 0x54, 0xe6, 0x82, 0x70, 0xc6, 0x38,
      0xfe, 0xaa, 0x7c, 0x7c, 0x88, 0x08, 0x38, 0x10, 0x38, 0x28, 0x5c, 0x7c, 0xfe, 0x70, 0x7c, 0x10,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x7c, 0x10, 0x7c, 0x7c, 0x00, 0x00, 0x7c, 0xfe, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0xce, 0x38, 0x38, 0xee, 0xa0, 0x88, 0xd6, 0x00, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0xaa, 0xc6, 0xfe, 0x10, 0xc6, 0x4a, 0x54, 0xee, 0xfe, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0xce, 0x7c, 0x38, 0xc6, 0x04, 0x22, 0xd6, 0x00, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x7c, 0x44, 0x7c, 0x7c, 0x00, 0x00, 0x7c, 0xfe, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    };
  }
}